package com.atmilan.quartz.model.dto.lavita;

import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;

/**
 * Vietti商品sku源映射
 * @Description: 
 * @author Daigb
 * @date 2021-07-02
 */
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class LavitaProductStockRes {

    @JsonProperty(value = "data")
    private List<Sku> skus;

    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Sku {
        @JsonProperty(value = "sizes")
        private List<JSONObject> sizes;
        @JsonProperty(value = "colors")
        private List<JSONObject> colors;
        @JsonProperty(value = "productList")
        private List<Product> productList;
        @JsonProperty(value = "imgList")
        private List<JSONObject> imgList;
        @JsonProperty(value = "imgDetail")
        private List<JSONObject> imgDetail;

        @JsonProperty(value = "productName")
        private String productName;
        @JsonProperty(value = "kuan")
        private String kuan;
        @JsonProperty(value = "brand")
        private String brand;
        @JsonProperty(value = "price")
        private BigDecimal price;
        @JsonProperty(value = "UnitPrice")
        private BigDecimal UnitPrice;
        @JsonProperty(value = "productYears")
        private String productYears;
        @JsonProperty(value = "seasonCode")
        private String seasonCode;
        @JsonProperty(value = "composition")
        private String composition;
        @JsonProperty(value = "IsHide")
        private Integer IsHide;
        @JsonProperty(value = "category_id1")
        private String category_id1;
        @JsonProperty(value = "category_id2")
        private String category_id2;
        @JsonProperty(value = "category_id3")
        private String categoryId3;
        @JsonProperty(value = "category_name1")
        private String categoryName1;
        @JsonProperty(value = "category_name2")
        private String categoryName2;
        @JsonProperty(value = "category_name3")
        private String categoryName3;
        @JsonProperty(value = "brandPrice")
        private BigDecimal brandPrice;
        @JsonProperty(value = "gender")
        private String gender;

        //库存
        @JsonProperty(value = "storeId")
        private String storeId;
        @JsonProperty(value = "StoreName")
        private String StoreName;
        @JsonProperty(value = "kuanId")
        private String kuanId;
        @JsonProperty(value = "productUnit")
        private String productUnit;
        @JsonProperty(value = "category")
        private String category;
        @JsonProperty(value = "skuPrice")
        private BigDecimal skuPrice;
        @JsonProperty(value = "skuCode")
        private String skuCode;
        @JsonProperty(value = "qtyMax")
        private String qtyMax;
        @JsonProperty(value = "qtyMin")
        private String qtyMin;
        @JsonProperty(value = "qtyCur")
        private String qtyCur;
        @JsonProperty(value = "qtyIn")
        private String qtyIn;
        @JsonProperty(value = "qtyIntr")
        private String qtyIntr;


        @Data
        @JsonIgnoreProperties(ignoreUnknown = true)
        public static class Size {
            @JsonProperty(value = "size")
            private String size;

            @JsonProperty(value = "sizeId")
            private Integer sizeId;
        }
        @Data
        @JsonIgnoreProperties(ignoreUnknown = true)
        public static class Color {
            @JsonProperty(value = "color")
            private String color;

            @JsonProperty(value = "colorId")
            private Integer colorId;
            @JsonProperty(value = "colorImg")
            private String colorImg;
        }
        @Data
        @JsonIgnoreProperties(ignoreUnknown = true)
        public static class Product {
            @JsonProperty(value = "sizeId")
            private String sizeId;

            @JsonProperty(value = "colorId")
            private String colorId;

            @JsonProperty(value = "productId")
            private String productId;

            @JsonProperty(value = "stock")
            private Integer stock;

            @JsonProperty(value = "skuCode")
            private String skuCode;
            @JsonProperty(value = "lockQty")
            private Integer lockQty;
            @JsonProperty(value = "qtyAvail")
            private Integer qtyAvail;
            @JsonProperty(value = "IsHide")
            private Integer IsHide;
        }
    }

    
}
